package com.ruoyi.baselibrary.infobasespecialist.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 专家信息对象 info_base_specialist
 *
 * @author ruoyi
 * @date 2022-01-12
 */
public class InfoBaseSpecialist extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 系统编号
     */
    private Long id;

    /**
     * 库类别
     */
    @Excel(name = "库类别")
    private Long category;

    /**
     * 基础库类别id集合 数据库中没有该字段
     */
    private String categoryIds;

    /**
     * 库类别中文 数据库中没有该字段
     */
    private String categoryName;

    /**
     * 专家姓名
     */
    @Excel(name = "专家姓名")
    private String expertName;

    /**
     * 专家性别
     */
    @Excel(name = "专家性别")
    private String expertSex;

    /**
     * 联系电话
     */
    @Excel(name = "联系电话")
    private String expertPhone;

    /**
     * 邮箱
     */
    @Excel(name = "邮箱")
    private String expertEmail;

    /**
     * 职务
     */
    @Excel(name = "职务")
    private String expertJob;

    /**
     * 职称
     */
    @Excel(name = "职称")
    private String expertRank;

    /**
     * 专家简介
     */
    @Excel(name = "专家简介")
    private String expertDesc;

    /**
     * 专长
     */
    @Excel(name = "专长")
    private String expertExpertise;

    /**
     * 研究成果
     */
    @Excel(name = "研究成果")
    private String expertResearch;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private String expertStatus;

    public String getCategoryIds() {
        return categoryIds;
    }

    public void setCategoryIds(String categoryIds) {
        this.categoryIds = categoryIds;
    }

    public String getCategoryName() {
        return categoryName;
    }

    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date addTime;

    /**
     * 创建人
     */
    @Excel(name = "创建人")
    private Long addBy;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewerTime;

    /**
     * 审核人
     */
    @Excel(name = "审核人")
    private Long reviewerBy;

    /**
     * 专家头像
     */
    @Excel(name = "专家头像")
    private String expertImg;

    /**
     * 专家认证情况
     */
    @Excel(name = "专家认证情况")
    private String expertIdcardStatus;

    /**
     * 专家身份证正面
     */
    @Excel(name = "专家身份证正面")
    private String expertIdcardZ;

    /**
     * 专家身份证反面
     */
    @Excel(name = "专家身份证反面")
    private String expertIdcardF;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setCategory(Long category) {
        this.category = category;
    }

    public Long getCategory() {
        return category;
    }

    public void setExpertName(String expertName) {
        this.expertName = expertName;
    }

    public String getExpertName() {
        return expertName;
    }

    public void setExpertSex(String expertSex) {
        this.expertSex = expertSex;
    }

    public String getExpertSex() {
        return expertSex;
    }

    public void setExpertPhone(String expertPhone) {
        this.expertPhone = expertPhone;
    }

    public String getExpertPhone() {
        return expertPhone;
    }

    public void setExpertEmail(String expertEmail) {
        this.expertEmail = expertEmail;
    }

    public String getExpertEmail() {
        return expertEmail;
    }

    public void setExpertJob(String expertJob) {
        this.expertJob = expertJob;
    }

    public String getExpertJob() {
        return expertJob;
    }

    public void setExpertRank(String expertRank) {
        this.expertRank = expertRank;
    }

    public String getExpertRank() {
        return expertRank;
    }

    public void setExpertDesc(String expertDesc) {
        this.expertDesc = expertDesc;
    }

    public String getExpertDesc() {
        return expertDesc;
    }

    public void setExpertExpertise(String expertExpertise) {
        this.expertExpertise = expertExpertise;
    }

    public String getExpertExpertise() {
        return expertExpertise;
    }

    public void setExpertResearch(String expertResearch) {
        this.expertResearch = expertResearch;
    }

    public String getExpertResearch() {
        return expertResearch;
    }

    public void setExpertStatus(String expertStatus) {
        this.expertStatus = expertStatus;
    }

    public String getExpertStatus() {
        return expertStatus;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddBy(Long addBy) {
        this.addBy = addBy;
    }

    public Long getAddBy() {
        return addBy;
    }

    public void setReviewerTime(Date reviewerTime) {
        this.reviewerTime = reviewerTime;
    }

    public Date getReviewerTime() {
        return reviewerTime;
    }

    public void setReviewerBy(Long reviewerBy) {
        this.reviewerBy = reviewerBy;
    }

    public Long getReviewerBy() {
        return reviewerBy;
    }

    public void setExpertImg(String expertImg) {
        this.expertImg = expertImg;
    }

    public String getExpertImg() {
        return expertImg;
    }

    public void setExpertIdcardStatus(String expertIdcardStatus) {
        this.expertIdcardStatus = expertIdcardStatus;
    }

    public String getExpertIdcardStatus() {
        return expertIdcardStatus;
    }

    public void setExpertIdcardZ(String expertIdcardZ) {
        this.expertIdcardZ = expertIdcardZ;
    }

    public String getExpertIdcardZ() {
        return expertIdcardZ;
    }

    public void setExpertIdcardF(String expertIdcardF) {
        this.expertIdcardF = expertIdcardF;
    }

    public String getExpertIdcardF() {
        return expertIdcardF;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("category", getCategory())
                .append("expertName", getExpertName())
                .append("expertSex", getExpertSex())
                .append("expertPhone", getExpertPhone())
                .append("expertEmail", getExpertEmail())
                .append("expertJob", getExpertJob())
                .append("expertRank", getExpertRank())
                .append("expertDesc", getExpertDesc())
                .append("expertExpertise", getExpertExpertise())
                .append("expertResearch", getExpertResearch())
                .append("expertStatus", getExpertStatus())
                .append("addTime", getAddTime())
                .append("addBy", getAddBy())
                .append("reviewerTime", getReviewerTime())
                .append("reviewerBy", getReviewerBy())
                .append("expertImg", getExpertImg())
                .append("expertIdcardStatus", getExpertIdcardStatus())
                .append("expertIdcardZ", getExpertIdcardZ())
                .append("expertIdcardF", getExpertIdcardF())
                .toString();
    }
}
